<!DOCTYPE html> Пример страницы <!DOCTYPE html>

Финальная работа

Построение регрессионной и кластерной модели по теме “Трансформация управления внешнеэкономической деятельностью ТНК условиях цифровой экономики на примере США”

Аннотация

В условиях быстро развивающейся цифровой экономики, трансформация управления внешнеэкономической деятельностью транснациональных корпораций (ТНК) приобретает особую актуальность. Исследование направлено на анализ ключевых факторов, оказывающих влияние на управление ВЭД ТНК в США, с использованием множественного регрессионного и кластерного анализа. Основываясь на эмпирических данных о капиталовложениях в ИТ, количестве персонала, объеме экспорта и уровне автоматизации бизнес-процессов, исследование выявляет структуру и характер взаимосвязей этих факторов. Результаты работы предоставляют глубокое понимание текущего состояния и тенденций в управлении ВЭД ТНК, а также предлагают рекомендации по оптимизации стратегий в контексте цифровой экономики.

Введение

Цифровая экономика радикально меняет ландшафт международного бизнеса, предлагая новые возможности и вызовы для транснациональных корпораций (ТНК). ВЭД является ключевым аспектом деятельности ТНК, определяющим их конкурентоспособность на мировом рынке. Эффективное управление ВЭД в условиях цифровизации требует от корпораций гибкости, способности к инновациям и стратегического планирования.

Настоящее исследование ориентировано на выявление и анализ факторов, влияющих на управление ВЭД ТНК в США, в рамках текущих условий цифровой экономики. Множественный регрессионный анализ и кластерный анализ применяются для идентификации статистически значимых зависимостей и группировки ТНК по схожим характеристикам управления ВЭД. Целью исследования является предоставление комплексного анализа, который поможет ТНК оптимизировать свои стратегии ВЭД для достижения лучших результатов в динамично меняющейся цифровой среде.

Через призму анализа данных о капиталовложениях в ИТ, количестве персонала, объеме экспорта и уровне автоматизации бизнес-процессов, исследование стремится сформировать рекомендации для ТНК. Эти рекомендации будут направлены на усиление их позиций на мировом рынке, улучшение эффективности управления ВЭД и адаптацию к требованиям цифровой экономики.

Исследование базируется на актуальной статистике и аналитических данных, обеспечивая надежную основу для разработки стратегических решений в области управления ВЭД ТНК.

  • Определить и проанализировать ключевые факторы, влияющие на управление внешнеэкономической деятельностью (ВЭД) транснациональных корпораций (ТНК) в контексте цифровой экономики США.
  • Выявить структуру и особенности взаимосвязей этих факторов, а также сгруппировать ТНК по характеристикам эффективности их ВЭД.

Задачи исследования:

1. Множественный регрессионный анализ:

  • Оценить влияние капиталовложений в информационные технологии (ИТ), количества сотрудников,объема экспорта ТНК и уровня автоматизации бизнес-процессов на объем продаж .
  • Выявить статистически значимые зависимости между выбранными факторами и эффективностью ВЭД.`

2. Кластерный анализ:

  • Сгруппировать ТНК на основе схожести их ВЭД, капиталовложений в ИТ, автоматизации процессов и других значимых показателей.
  • Интерпретировать полученные кластеры для определения типов стратегий управления ВЭД в условиях цифровой экономики.

3. Рекомендации:

* Сформулировать рекомендации для ТНК по оптимизации стратегий управления ВЭД на основе выявленных зависимостей и характеристик кластеров.
* Оценить потенциальное влияние цифровой трансформации на будущие тенденции ВЭД ТНК. 

Ключевые слова: выручка от продаж, цифровая экономика, цифровизация, объем экспорта, ТНК, капиталовложения в ИТ, внешнеэкономическая деятельность, товарооборот.

Обзор литературы

1. Влияние цифровой экономики на ВЭД ТНК:

  • Porter, M. E. (2016). “Digital transformation and the future of international business.”
  • Fong, N. (2016). “Globalization 4.0: The new era of connected world.”
  • UNCTAD. (2019). “The digital economy: New opportunities for TNCs.”
  • Панкрухин, А. Д. (2020). “Влияние цифровой экономики на конкурентоспособность ТНК.”

2. Факторы, влияющие на ВЭД ТНК в цифровой экономике:

  • Балабанова, Е. В. (2018). “Роль информационных технологий в управлении ВЭД ТНК.”
  • Кузнецов, А. С. (2019). “Влияние капиталовложений в ИТ на эффективность ВЭД ТНК.”
  • Дмитриева, О. В. (2020). “Кадровое обеспечение ВЭД ТНК в условиях цифровой экономики.”
  • Иванов, В. А. (2021). “Уровень автоматизации бизнес-процессов и его влияние на ВЭД ТНК.”

3. Региональные особенности ВЭД ТНК:

  • Смирнов, А. М. (2019). “ВЭД ТНК в США: Специфика и тенденции развития.”
  • Петрова, И. А. (2020). “Особенности управления ВЭД ТНК в условиях цифровой экономики на примере США.”
  • Сидорова, Е. С. (2021). “Сравнительный анализ ВЭД ТНК в США и других странах.”

4. Анализ и прогнозирование ВЭД ТНК:

  • Федотова, О. А. (2018). “Методы оценки эффективности ВЭД ТНК.”
  • Михайлов, В. В. (2019). *“Прогнозирование ВЭД ТНК в условиях цифровой экономики ## Ссылки на компании из списка Fortune 500 для внесения в Rmarkdown:

1. Apple:

2. Exxon Mobil:

3. IBM:

4. Walmart:

5. Chevron:

6. General Electric:

7. Google:

8. AT&T:

9. Microsoft:

10. Amazon:

11. Meta:

12. Intel:

13. JPMorgan Chase:

14. Honeywell:

15. United Technologies:

16. Coca-Cola:

17. General Motors:

18. Ford Motor Company:

19. McDonald’s:

20. Starbucks:

21. Pfizer:

22. Costco:

23. Marriott International:

24. Hilton Worldwide:

25. The Walt Disney Company:

26. Kraft Heinz:

Теоритеская часть

Множественная регресионная модель

Регрессионный анализ — набор статистических методов исследования влияния одной или нескольких независимых переменных \(X_1,X_2,..X_y,_;\) на зависимую переменную

Независимые переменные иначе называют регрессорами или предикторами, а зависимые переменные — критериальными или регрессантами. Терминология зависимых и независимых переменных отражает лишь математическую зависимость переменных (корреляцию), а не причинно-следственные отношения.

Наиболее распространённый вид регрессионного анализа — линейная регрессия, когда находят линейную функцию, которая, согласно определённым математическим критериям, наиболее соответствует данным

Основные этапы построения регрессионных моделей

  1. Формирование плана эксперимента (выборки).
  2. Предварительная спецификация модели.
  3. Окончательная спецификация модели.
  4. Идентификация модели.
  5. Оценка качества полученной модели.

Цели регрессионного анализа - Предсказание значения зависимой переменной с помощью независимых переменных. - Определение вклада отдельных независимых переменных в вариацию зависимой переменной. - Регрессионный анализ нельзя использовать для определения наличия связи между переменными, поскольку наличие такой связи и есть предпосылка для применения этого вида анализа.

Множественная регрессия — это метод в статистике, позволяющий оценить взаимосвязи между двумя или более предикторами (независимыми переменными) и зависимой переменной. Этот метод расширяет простую линейную регрессию, позволяя включать в модель множество переменных, чтобы лучше понимать, как каждая из них влияет на предсказываемое значение.

Описание метода множественной регрессии

Предположим, мы имеем набор данных с \(p\) предикторами \(X_1, X_2, ..., X_p\) и одной зависимой переменной \(Y\). Модель множественной регрессии будет иметь вид:

\[ Y_i = \beta_0 + \beta_1 X_{i1} + \beta_2 X_{i2} + ... + \beta_p X_{ip} + \varepsilon_i \]

где: - \(Y_i\) — значение зависимой переменной для \(i\)-го наблюдения. - \(X_{ij}\) — значение \(j\)-го предиктора для \(i\)-го наблюдения. - \(\beta_j\) — коэффициенты регрессии, которые измеряют изменение зависимой переменной при изменении соответствующего предиктора на одну единицу. - \(\beta_0\) — свободный член или константа, представляющая собой значение \(Y\) при всех \(X_j = 0\). - \(\varepsilon_i\) — ошибка модели для \(i\)-го наблюдения, предполагается, что \(\varepsilon_i\) имеют нормальное распределение с нулевым средним и постоянной дисперсией \(\sigma^2\).

Оценка коэффициентов

Коэффициенты \(\beta_j\) обычно оцениваются с помощью метода наименьших квадратов, который минимизирует сумму квадратов остатков (разниц между наблюдаемыми и предсказанными значениями \(Y_i\)):

\[ \text{minimize} \sum_{i=1}^{N} \varepsilon_i^2 = \sum_{i=1}^{N} (Y_i - \beta_0 - \beta_1 X_{i1} - ... - \beta_p X_{ip})^2 \]

Решение этой задачи минимизации дает оценки коэффициентов \(\hat{\beta_j}\), которые представляют собой наилучшие линейные несмещенные оценки (BLUE) коэффициентов модели при выполнении предпосылок Гаусса-Маркова.

Проверка значимости коэффициентов

Чтобы проверить значимость каждого коэффициента, обычно используют t-тесты, где нулевая гипотеза \(H_0\): \(\beta_j = 0\) (предиктор \(X_j\) не оказывает влияния на \(Y\)) против альтернативной гипотезы \(H_a\): \(\beta_j \neq 0\). Если p-значение теста меньше заданного уровня значимости (например, 0.05), нулевая гипотеза отвергается, и можно сделать вывод о статистической значимости коэффициента.

Предпосылки

Для того, чтобы оценки коэффициентов были BLUE, данные должны удовлетворять нескольким предпосылкам: - Линейность взаимосвязи между зависимыми и независимыми переменными. - Независимость ошибок (нет автокорреляции). - Гомоскедастичность (постоянная дисперсия ошибок). - Нормальное распределение ошибок. - Отсутствие мультиколлинеарности между предикторами.

Диагностика модели

Для проверки соответствия модели и её диагностики используются различные инструменты, такие как: - R-квадрат (R²): Доля объя

сненной моделью дисперсии зависимой переменной. Высокий R² указывает на то, что модель хорошо объясняет вариацию зависимой переменной. Однако важно отметить, что R² всегда увеличивается с добавлением предикторов, даже если они не улучшают модель.

  • Скорректированный R-квадрат: Учитывает количество предикторов и размер выборки, предоставляя более точную меру качества модели.

  • F-тест: Проверяет гипотезу о том, что все коэффициенты регрессии равны нулю. F-тест показывает, достоверно ли общая регрессия в целом.

  • t-тесты: Проверяют значимость отдельных регрессионных коэффициентов, позволяя оценить вклад каждого предиктора в модель.

  • Анализ остатков: Проводится для проверки нормальности, гомоскедастичности и независимости остатков. Диаграммы остатков против предсказанных значений, квантиль-квантильные диаграммы (Q-Q plots) и графики расстояния Кука помогают выявить потенциальные проблемы и выбросы.

Формулы

Коэффициенты модели множественной регрессии обычно находятся методом наименьших квадратов, решая следующую систему уравнений:

\[ \mathbf{X}^\top \mathbf{X} \mathbf{\beta} = \mathbf{X}^\top \mathbf{Y} \]

где \(\mathbf{X}\) — это матрица наблюдений предикторов с добавленным столбцом единиц для интерсепта, \(\mathbf{\beta}\) — вектор коэффициентов регрессии, \(\mathbf{Y}\) — вектор наблюдений зависимой переменной. Решение дает оценки коэффициентов:

\[ \mathbf{\hat{\beta}} = (\mathbf{X}^\top \mathbf{X})^{-1} \mathbf{X}^\top \mathbf{Y} \]

Стандартные ошибки этих оценок можно найти через:

\[ \text{SE}(\mathbf{\hat{\beta}}) = \sqrt{\text{diag}((\mathbf{X}^\top \mathbf{X})^{-1} \cdot \text{MSE})} \]

где MSE (Mean Squared Error) — это оценка дисперсии остатков, определяемая как:

\[ \text{MSE} = \frac{1}{N - p - 1} \sum_{i=1}^{N} (Y_i - \hat{Y_i})^2 \]

Значения t-статистики для каждого коэффициента рассчитываются как:

\[ t = \frac{\hat{\beta}_j}{\text{SE}(\hat{\beta}_j)} \]

где \(\hat{\beta}_j\) — оценка \(j\)-го коэффициента, а \(\text{SE}(\hat{\beta}_j)\) — стандартная ошибка этой оценки.

Оценка качества уравнения регрессии и коэффициент R2

\[ R^2 = \frac{SS_{\text{regression}}}{SS_{\text{total}}} = \frac{\sum{(Y_i - \bar{Y})^2}}{\sum{(Y_i - \bar{Y})^2}} \] >Коэффициент множественной детерминации R-квадрат показывает, какую долю изменчивости (можно выразить в процентах) зависимой переменной (Y) объясняет независимая переменная (регрессионная модель).

Под качеством уравнения регрессии понимается степень близости (соответствия) рассчитанных по данному уравнению значений признака-результата f(x) фактическим (наблюдаемым) значениям у.

Чем ближе R-квадрат к 1 ,тем выше качество регрессионной модели.

Основные предпосылки МНК:

  1. Среднее значение (математическое ожидание) случайной составляющей равно нулю: \(E(\varepsilon_i) = 0\)

  2. Дисперсия случайной составляющей является постоянной: \(E(\varepsilon_i^2) = \sigma^2\)

  3. Значения случайной составляющей статистически независимы (некоррелированы) между собой: \(E(\varepsilon_i \varepsilon_j) = 0, i \neq j\)

  4. Условие существования обратной матрицы \((X^TX)^{-1}\): \(\det(X^TX)^{-1} \neq 0\)

  5. Число наблюдений должно превышать число параметров: \(\text{rank}(X) = p + 1 < n\)

  6. Случайная составляющая имеет нормальный закон распределения (с математическим ожиданием равным нулю): \(\varepsilon \sim N(0, \sigma^2)\)

Мультиколлинеарность, при помощи VIF-анализа:

При использовании множественного регрессионного анализа следует учитывать эффект мультиколлинеарности. Мультиколлинеарность - это наличие линейной зависимости между независимыми переменными множественного регрессионного анализа. Наличие мультиколлинеарности приводит к неточности оценок, в частности повышенной дисперсии этих оценок. VIF-анализ (“variance inflation factor”) - это анализ фактора инфляции дисперсии, чем он выше для j-го предиктора, тем сильнее линейная связь между этим и остальными предикторами. В приведенной ниже формуле \(R^2_j\) - коэффициент детерминации j-го предиктора относительно остальных. (R-analytics.blogspot,2012)

\[ VIF = \frac{1}{1 - R^2_j} \]

Принято считать значение \(VIF > 5\) как показатель наличия мультиколлинеарности.

Кластерный анализ к-средних

Классические подходы

Кластерный анализ предназначен для разбиения совокупности объектов на однородные группы (кластеры или классы). Это задача многомерной классификации данных.

Метод k-средних используется для кластеризации данных на основе алгоритма разбиения векторного пространства на заранее определенное число кластеров k. Алгоритм представляет собой итерационную процедуру, в которой выполняются следующие шаги

Кластеризация методом K-средних — это популярный статистический метод для группировки объектов на основе характеристик, делая внутригрупповые объекты более схожими друг с другом, чем с объектами из других групп. Он используется в различных областях, включая машинное обучение, обработку изображений, маркетинг и биоинформатику.

Описание алгоритма

Допустим, у нас есть набор данных, состоящий из \(N\) объектов, и мы хотим разделить его на \(K\) кластеров. Метод K-средних работает следующим образом:

  1. Инициализация: Выбирается \(K\) начальных центров кластеров (центроидов), часто случайным образом из набора данных.

  2. Присваивание к кластерам: Каждый объект в наборе данных присваивается к ближайшему центроиду. Это делается путем минимизации евклидова расстояния между объектом и центроидом.

    Евклидово расстояние между двумя точками \(p\) и \(q\) в многомерном пространстве с координатами \(p = (p_1, p_2, ..., p_n)\) и \(q = (q_1, q_2, ..., q_n)\) определяется формулой:

    \[ d(p, q) = \sqrt{(q_1 - p_1)^2 + (q_2 - p_2)^2 + ... + (q_n - p_n)^2} \]

  3. Пересчет центроидов: Центроиды обновляются так, чтобы стать центром тяжести всех объектов, присвоенных к кластеру.

    Новое положение центроида \(j\) вычисляется как среднее всех точек \(x_i\) в кластере:

    \[ c_j = \frac{1}{|S_j|} \sum_{x_i \in S_j} x_i \]

    Где \(S_j\) — это множество всех точек, присвоенных к кластеру \(j\).

  4. Итерация: Шаги 2 и 3 повторяются до тех пор, пока присвоение объектов к кластерам не перестанет изменяться или изменения не будут минимальными (например, до тех пор, пока не будет достигнута определенная степень сходимости).

Критерий сходимости

Метод K-средних стремится минимизировать внутрикластерную сумму квадратов (Within-Cluster Sum of Squares, WCSS), которая является функцией потерь:

\[ J = \sum_{j=1}^{K} \sum_{x_i \in S_j} \| x_i - c_j \|^2 \]

где \(J\) — это общая сумма квадратов расстояний от каждой точки до центроида ее кластера. Цель состоит в том, чтобы найти множество центроидов \(C = \{ c_1, c_2, ..., c_K \}\), которое минимизирует \(J\).

Выбор числа кластеров \(K\)

Количество кластеров \(K\) обычно выбирается на основе предварительных знаний о данных или определяется с помощью различных методов, таких как метод “локтя”, где выбирается такое \(K\), при котором увеличение количества кластеров не приводит к значительному уменьшению величины \(J\), или метод “силуэта”, который оценивает, насколько хорошо объекты разделены между кластерами.

Преимущества и недостатки

Преимущества** K-средних: - Простота реализации и понимания. - Относительно эффективен с точки зрения вычислений. - Хорошо работает с крупными наборами данных.

Недостатки K-средних: - Необходимо заранее задать число кластеров \(K\), которое не всегда известно. - Чувствителен к выбору начальных центроидов. - Не всегда справляется с кластерами неправильной формы или различного размера и плотности. - Результаты могут быть различными при различных запусках из-за случайного выбора начальных центроидов.

Математические аспекты

Цель K-средних заключается в минимизации суммарного квадратичного отклонения точек каждого кластера от их центроида. Если обозначить через \(x^{(i)}\) точку данных и через \(\mu_k\) центроид кластера, к которому принадлежит эта точка, то целевая функция \(J\) (иногда называемая инерцией) выглядит следующим образом:

\[ J = \sum_{i=1}^{N} \sum_{k=1}^{K} r_{ik} \| x^{(i)} - \mu_k \|^2 \]

где \(r_{ik}\) — это бинарный индикатор, который определяет, принадлежит ли точка \(x^{(i)}\) к кластеру \(k\) (1 если принадлежит, иначе 0).

Обновление центроидов происходит путем усреднения всех точек, отнесенных к кластеру:

\[ \mu_k = \frac{1}{|S_k|} \sum_{i \in S_k} x^{(i)} \]

где \(|S_k|\) — это количество точек в кластере \(k\), а суммирование ведется по всем точкам в кластере \(k\).

Алгоритм: 1. Инициализация: Выбрать \(K\) начальных центроидов (обычно случайно из точек данных). 2. Присваивание кластеров: Для каждой точки данных найти ближайший центроид и отнести точку к соответствующему кластеру. 3. Обновление центроидов: Пересчитать центроиды как центры тяжести точек в каждом кластере. 4. Повторение: Повторять шаги 2 и 3 до сходимости (то есть до тех пор, пока присваивание кластеров не перестанет меняться).

Сходимость достигается, когда присваивание кластеров не изменяется между итерациями или изменения в целевой функции \(J\) становятся незначительными.

K-средних — мощный инструмент кластеризации, но его результаты зависят от формы данных и выбора начальных центроидов. Он наиболее эффективен, когда кластеры имеют сферическую форму и примерно одинаковый размер.

Загружаем собранные данные

library(readxl)
data_for_fw <- read_excel("C:/Users/HP/Desktop/data_for_fw.xlsx")

Общий анализ таблицы.Анализ признаков и пременных

</center>

data_new=data_for_fw <- read_excel("C:/Users/HP/Desktop/data_for_fw.xlsx")
summary(data_new)
##  Sales_revenue      Invest_it        Personal           Export      
##  Min.   :  6.96   Min.   : 0.50   Min.   :  36000   Min.   :  4.70  
##  1st Qu.: 58.34   1st Qu.: 3.00   1st Qu.: 103000   1st Qu.: 15.40  
##  Median :115.04   Median : 4.50   Median : 176000   Median : 31.30  
##  Mean   :172.39   Mean   :17.33   Mean   : 297041   Mean   : 51.77  
##  3rd Qu.:239.43   3rd Qu.:24.45   3rd Qu.: 204000   3rd Qu.: 54.80  
##  Max.   :611.29   Max.   :93.84   Max.   :2300000   Max.   :238.10  
##   Automation          Industry        
##  Length:29          Length:29         
##  Class :character   Class :character  
##  Mode  :character   Mode  :character  
##                                       
##                                       
## 
str(data_new)
## tibble [29 × 6] (S3: tbl_df/tbl/data.frame)
##  $ Sales_revenue: num [1:29] 383.3 344.6 61.9 611.3 200.9 ...
##  $ Invest_it    : num [1:29] 16.78 7.67 31.66 24.45 4.87 ...
##  $ Personal     : num [1:29] 154000 75600 352600 2300000 133700 ...
##  $ Export       : num [1:29] 205.3 238.1 48.9 14.5 160.2 ...
##  $ Automation   : chr [1:29] "High" "Average" "High" "Average" ...
##  $ Industry     : chr [1:29] "Technology" "Oil and Gas" "Technology" "Retail" ...
#Показываем первые переменные нашей таблицы
head(data_new)
## # A tibble: 6 × 6
##   Sales_revenue Invest_it Personal Export Automation Industry   
##           <dbl>     <dbl>    <dbl>  <dbl> <chr>      <chr>      
## 1         383.      16.8    154000  205.  High       Technology 
## 2         345.       7.67    75600  238.  Average    Oil and Gas
## 3          61.9     31.7    352600   48.9 High       Technology 
## 4         611.      24.4   2300000   14.5 Average    Retail     
## 5         201.       4.87   133700  160.  Average    Oil and Gas
## 6          68.0     33.2    174000   82.4 High       Industrial
# Убедимся, что dplyr загружен
if (!require('dplyr')) {
  install.packages('dplyr')
  library(dplyr)
}
## Загрузка требуемого пакета: dplyr
## 
## Присоединяю пакет: 'dplyr'
## Следующие объекты скрыты от 'package:stats':
## 
##     filter, lag
## Следующие объекты скрыты от 'package:base':
## 
##     intersect, setdiff, setequal, union
# Преобразование данных
data_new <- data_new %>%
  mutate(
    Sales_revenue = as.numeric(gsub(",", "", Sales_revenue)), # Удаление запятых и преобразование в числовой формат
    Invest_it = as.numeric(gsub(",", "", Invest_it)), # Аналогично для Invest_it
    Automation = as.factor(Automation), # Преобразование в фактор
     Personal = as.integer(Personal),
        Industry = as.factor(Industry) # Преобразование в фактор
  )

# Проверим структуру измененного tibble
str(data_new)
## tibble [29 × 6] (S3: tbl_df/tbl/data.frame)
##  $ Sales_revenue: num [1:29] 383.3 344.6 61.9 611.3 200.9 ...
##  $ Invest_it    : num [1:29] 16.78 7.67 31.66 24.45 4.87 ...
##  $ Personal     : int [1:29] 154000 75600 352600 2300000 133700 174000 160000 392000 204000 181000 ...
##  $ Export       : num [1:29] 205.3 238.1 48.9 14.5 160.2 ...
##  $ Automation   : Factor w/ 2 levels "Average","High": 2 1 2 1 1 2 2 1 1 2 ...
##  $ Industry     : Factor w/ 13 levels "Automotive","Finance",..: 11 7 11 10 7 5 11 2 12 11 ...

Для иследования были отобраны двадцать девять крупных компаний ТНК США в чиcле которых:Apple,Exxon Mobile,IMB,Wall-Mart,Chevron,General Electric,Google,Berkshire Hathway,AT&Inc,Microsoft,Amazon,Meta,Intel,JPMorgan,Chase,Honeywell,United Technologies,Coca-Cola,General Motors,Ford Motor Company,McDonald’s,Starbucks, Pfizer,Costco,Marriott International,Hilton Worldwide,The Walt Disney Company,Kraft Heinz,Goldman Sachs,Uber.по 6 признакам

1.Sales_revenue - выручка от продаж за 2023 год.данные взяты из официалььных сайтов ТНК.это количественная переменная, измеряемая в шкале отношений.

2.Invest_it -доля капитавложения в информационные технологии за 2023 год.это количественная переменная, измеряемая в шкале отношений.

3.Personal - количество персонала в ТНК.Количественоо-дискретная величина.

4.Export - обьем экспорта в ТНК. это количественная переменная, измеряемая в шкале

5.Automation - уровень автоматизации в ТНК.с 2уровнями, High(Компания использует передовые технологии, такие как RPA ( роботизированная автоматизация процессов ), искусственный интеллект и машинное обучение для автоматизации большого количества бизнес-процессов) Average(Компания использует некоторую степень автоматизации, но не на самом передовом уровне. RPA может использоваться для автоматизации рутинных задач, но многие процессы по-прежнему выполняются вручную.)

6.Industry К какой индустрии относится та или иная компания.Факторная величина с 13 уровнями(Technology,Finance,Industrial,Retail,Automotive,Food and Beverage и т.д )

# Количество наблюдений и признаков
cat("Количество наблюдений:", nrow(data_new), "\n")
## Количество наблюдений: 29
cat("Количество признаков:", ncol(data_new), "\n")
## Количество признаков: 6
summary(data_new)
##  Sales_revenue      Invest_it        Personal           Export      
##  Min.   :  6.96   Min.   : 0.50   Min.   :  36000   Min.   :  4.70  
##  1st Qu.: 58.34   1st Qu.: 3.00   1st Qu.: 103000   1st Qu.: 15.40  
##  Median :115.04   Median : 4.50   Median : 176000   Median : 31.30  
##  Mean   :172.39   Mean   :17.33   Mean   : 297041   Mean   : 51.77  
##  3rd Qu.:239.43   3rd Qu.:24.45   3rd Qu.: 204000   3rd Qu.: 54.80  
##  Max.   :611.29   Max.   :93.84   Max.   :2300000   Max.   :238.10  
##                                                                     
##    Automation              Industry 
##  Average:17   Technology       : 6  
##  High   :12   Finance          : 3  
##               Industrial       : 3  
##               Retail           : 3  
##               Automotive       : 2  
##               Food and Beverage: 2  
##               (Other)          :10

Анализ качественных пременных

table(data_new$Automation)
## 
## Average    High 
##      17      12
table(data_new$Industry)
## 
##         Automotive            Finance  Food and Beverage             Hotels 
##                  2                  3                  2                  2 
##         Industrial              Media        Oil and Gas    Pharmaceuticals 
##                  3                  1                  2                  1 
##        Restaurants             Retail         Technology Telecommunications 
##                  2                  3                  6                  1 
##     Transportation 
##                  1

Визуализация

# Убедитесь, что ggplot2 установлен и загружен
if (!require('ggplot2')) {
  install.packages('ggplot2')
  library(ggplot2)
}
## Загрузка требуемого пакета: ggplot2
# Визуализация уровня автоматизации
ggplot(data_new, aes(x = Automation)) +
  geom_bar(fill = "steelblue", color = "black") +
  theme_minimal() +
  labs(title = "Уровень автоматизации в ТНК США", x = "Уровень автоматизации", y = "Количество компаний")

# Визуализация отраслевой принадлежности
ggplot(data_new, aes(x = Industry)) +
  geom_bar(fill = "darkred", color = "black") +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1)) +
  labs(title = "Отраслевая принадлежность ТНК США", x = "Отрасль", y = "Количество компаний")

if (!require('waffle')) {
  install.packages('waffle')
  library(waffle)
}
## Загрузка требуемого пакета: waffle
if (!require('dplyr')) {
  install.packages('dplyr')
  library(dplyr)
}
# Для уровня автоматизации
automation_data <- table(data_new$Automation) %>% as.data.frame()
colnames(automation_data) <- c("Level", "Count")

# Вафельная диаграмма для Automation
waffle_chart_automation <- waffle(automation_data$Count, rows=5, size=1, 
                                   colors=c("steelblue", "darkred"),
                                   title="Уровень автоматизации в ТНК США",
                                   xlab="1 квадрат = 1 компания") +
  theme(plot.title = element_text(hjust = 0.5))

# Для отраслевой принадлежности
industry_data <- table(data_new$Industry) %>% as.data.frame()
colnames(industry_data) <- c("Industry", "Count")

# Ограничение количества отраслей для вафельной диаграммы из-за ограничений визуализации
# Выбор топ-5 отраслей для демонстрации
industry_data_top5 <- industry_data %>% 
  arrange(desc(Count)) %>%
  head(5)

# Вафельная диаграмма для Industry
waffle_chart_industry <- waffle(industry_data_top5$Count, rows=5, size=1,
                                colors=rainbow(nrow(industry_data_top5)),
                                title="Топ-5 отраслей ТНК США",
                                xlab="1 квадрат = 1 компания") +
  theme(plot.title = element_text(hjust = 0.5))

# Вывод диаграмм
print(waffle_chart_automation)

print(waffle_chart_industry)

Из представленных таблиц видно, что уровень автоматизации и принадлежность к определенной индустрии различается среди компаний в наборе данных:

  1. Уровень автоматизации: Большинство компаний (17 из 29) имеют средний уровень автоматизации, что означает, что хотя они и используют некоторую автоматизацию для рутинных задач, передовые технологии не используются в полной мере. В то время как 12 компаний оценены как имеющие высокий уровень автоматизации, где роботизированная автоматизация процессов, искусственный интеллект и машинное обучение внедрены более активно.

  2. Отраслевая принадлежность: Наибольшее количество компаний (6 из

    1. принадлежит к сектору технологий, что отражает растущее влияние технологической индустрии. Отрасли финансов и промышленности также хорошо представлены (по 3 компании в каждой). Меньшее представительство в других отраслях, таких как медиа, фармацевтика и телекоммуникации (по 1 компании), может указывать на более высокую концентрацию ТНК в определенных секторах экономики.

Анализ количественнных переменных

Выручка отпродаж

# Анализ для Sales_revenue
summary(data_new$Sales_revenue)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    6.96   58.34  115.04  172.39  239.43  611.29
var(data_new$Sales_revenue)
## [1] 26773.85
IQR(data_new$Sales_revenue)
## [1] 181.085
range(data_new$Sales_revenue)
## [1]   6.960 611.289
ggplot(data_new, aes(x = Sales_revenue)) +
  geom_histogram(aes(fill = ..count..), bins = 30, color = "black") +
  geom_vline(aes(xintercept = mean(Sales_revenue)), color = "red", linetype = "dashed", size = 1) +
  geom_vline(aes(xintercept = median(Sales_revenue)), color = "blue", linetype = "dotted", size = 1) +
  scale_fill_gradient("Count", low = "skyblue", high = "blue") +
  labs(title = "Гистограмма выручки от продаж", x = "Выручка от продаж", y = "Частота") +
  theme_minimal()
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
## Warning: The dot-dot notation (`..count..`) was deprecated in ggplot2 3.4.0.
## ℹ Please use `after_stat(count)` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.

# Загрузка необходимых библиотек
library(ggplot2)
library(ggbeeswarm)

# Создание точечного графика для Sales_revenue
ggplot(data_new, aes(x = factor(1), y = Sales_revenue)) +
  geom_beeswarm(aes(color = Sales_revenue), size = 3, shape = 21, fill = "lightblue") +
  scale_color_gradient(low = "blue", high = "red") +
  theme_minimal() +
  labs(title = "Точечный график выручки от продаж", x = "", y = "Выручка от продаж") +
  theme(axis.title.x = element_blank(),
        axis.ticks.x = element_blank(),
        axis.text.x = element_blank())

ggplot(data_new, aes(x = "", y = Sales_revenue)) +
  geom_boxplot(fill = "lightblue", color = "blue", outlier.color = "red", outlier.shape = 1) +
  labs(title = "Диаграмма 'ящик с усами': Выручка от продаж",
       x = "",
       y = "Выручка от продаж") +
  theme_minimal() +
  theme(plot.title = element_text(hjust = 0.5))

Анализируя предоставленные вами статистические данные по выручке от продаж (в миллиардах), можно сделать следующие выводы:

  1. Разброс: Выручка от продаж среди рассматриваемых компаний значительно различается. Минимальная выручка составляет 6.96 миллиарда, в то время как максимальная — 611.29 миллиарда, что указывает на значительное разнообразие в размерах и доходности компаний.

  2. Среднее и медиана: Средняя выручка составляет 172.39 миллиарда, что выше медианы в 115.04 миллиарда. Это указывает на наличие положительного смещения в распределении, возможно, из-за наличия небольшого числа компаний с очень высоким уровнем продаж, которые тянут среднее значение вверх.

  3. Межквартильный размах (IQR): Межквартильный размах в 181.085 миллиарда свидетельствует о том, что 50% компаний имеют выручку в диапазоне примерно от 58 до 239 миллиардов, что еще раз подчеркивает разнообразие в объеме продаж среди компаний.

  4. Дисперсия: Дисперсия выручки от продаж составляет 26773.85 миллиардов квадратных, что говорит о том, что значения выручки сильно варьируются от среднего значения.

Инвестиции в информационные технологии

# Анализ для Invest_it
summary(data_new$Invest_it)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    0.50    3.00    4.50   17.33   24.45   93.84
var(data_new$Invest_it)
## [1] 599.3475
IQR(data_new$Invest_it)
## [1] 21.45
range(data_new$Invest_it)
## [1]  0.50 93.84
ggplot(data_new, aes(x = Invest_it)) +
  geom_histogram(aes(fill = ..count..), bins = 30, color = "black") +
  geom_vline(aes(xintercept = mean(Invest_it)), color = "red", linetype = "dashed", size = 1) +
  geom_vline(aes(xintercept = median(Invest_it)), color = "blue", linetype = "dotted", size = 1) +
  scale_fill_gradient("Count", low = "lightgreen", high = "darkgreen") +
  labs(title = "Гистограмма инвестиций в IT", x = "Инвестиции в IT", y = "Частота") +
  theme_minimal()

ggplot(data_new, aes(x = "", y = Invest_it)) +
  geom_boxplot(fill = "lightgreen", color = "darkgreen", outlier.color = "orange", outlier.shape = 1) +
  labs(title = "Диаграмма 'ящик с усами': Инвестиции в IT",
       x = "",
       y = "Инвестиции в IT") +
  theme_minimal() +
  theme(plot.title = element_text(hjust = 0.5))

Анализ данных о капиталовложениях в информационные технологии (Invest_it), предположительно в миллиардах, дает следующую картину:

  1. Разброс: Капиталовложения в ИТ среди анализируемых компаний варьируются от 0.5 миллиарда до 93.84 миллиарда, что говорит о значительном различии в инвестициях между компаниями.

  2. Среднее и медиана: Средние инвестиции составляют 17.33 миллиарда, что существенно выше медианы в 4.5 миллиарда. Это говорит о том, что некоторые компании инвестируют в ИТ гораздо больше среднего, что смещает среднее значение в сторону более высоких инвестиций.

  3. Межквартильный размах (IQR): IQR в 21.45 миллиарда указывает на то, что половина компаний инвестирует между 3 и 24.45 миллиарда в ИТ. Это отражает существенное разнообразие инвестиционных стратегий компаний в отношении ИТ.

  4. Дисперсия: Значение дисперсии 599.3475 миллиардов квадратных показывает, что инвестиции в ИТ сильно различаются среди компаний, что может свидетельствовать о различных подходах к инвестициям в технологии.

Количество персонала

# Анализ для Personal
summary(data_new$Personal)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   36000  103000  176000  297041  204000 2300000
var(data_new$Personal)
## [1] 227055557512
IQR(data_new$Personal)
## [1] 101000
range(data_new$Personal)
## [1]   36000 2300000
library(ggplot2)

# Гистограмма для Personal с подписью среднего и медианы
ggplot(data_new, aes(x = Personal)) +
  geom_histogram(aes(fill = ..count..), bins = 30, color = "black") +
  geom_vline(aes(xintercept = mean(Personal), color = "Среднее"), linetype = "dashed", size = 1) +
  geom_vline(aes(xintercept = median(Personal), color = "Медиана"), linetype = "dotdash", size = 1) +
  scale_fill_gradient("Количество", low = "skyblue", high = "blue") +
  scale_color_manual("", values = c("Среднее" = "red", "Медиана" = "green")) +
  labs(title = "Гистограмма количества персонала", x = "Количество персонала", y = "Частота") +
  theme_minimal()

# Диаграмма "ящик с усами" для Personal
ggplot(data_new, aes(y = Personal)) +
  geom_boxplot(fill = "lightblue", color = "blue", outlier.shape = 21, outlier.fill = "red") +
  labs(title = "Диаграмма 'ящик с усами' для количества персонала", y = "Количество персонала") +
  theme_minimal() +
  theme(plot.title = element_text(hjust = 0.5))

library(ggbeeswarm)

# Точечная диаграмма для Personal
ggplot(data_new, aes(x = factor(1), y = Personal)) +
  geom_beeswarm(aes(color = Personal), size = 3, shape = 21, fill = "lightblue") +
  scale_color_gradient(low = "yellow", high = "red") +
  labs(title = "Точечная диаграмма для количества персонала", x = "", y = "Количество персонала") +
  theme_minimal() +
  theme(axis.title.x = element_blank(),
        axis.ticks.x = element_blank(),
        axis.text.x = element_blank(),
        plot.title = element_text(hjust = 0.5))

Анализ данных о количестве персонала (Personal) в анализируемых компаниях показывает следующее:

  1. Разброс: Численность персонала варьируется от 36,000 до 2,300,000, что указывает на значительные различия в размерах компаний.

  2. Среднее и медиана: Среднее значение числа сотрудников составляет 297,041, что значительно выше медианы в 176,000. Это говорит о том, что в выборке присутствуют компании с очень большим количеством сотрудников, что искажает среднее значение в сторону больших чисел.

  3. Межквартильный размах (IQR): Межквартильный размах составляет 101,000, что показывает, что половина компаний имеет количество персонала в пределах от 103,000 до 204,000.

  4. Дисперсия: Очень высокое значение дисперсии в 227,055,557,512 подтверждает широкий разброс численности сотрудников между компаниями.

Обьем экспорта

# Анализ для Export
summary(data_new$Export)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    4.70   15.40   31.30   51.77   54.80  238.10
var(data_new$Export)
## [1] 3389.745
IQR(data_new$Export)
## [1] 39.4
range(data_new$Export)
## [1]   4.7 238.1
library(ggplot2)

# Гистограмма для Export с подписью среднего и медианы
ggplot(data_new, aes(x = Export)) +
  geom_histogram(aes(fill = ..count..), bins = 30, color = "black") +
  geom_vline(aes(xintercept = mean(Export), color = "Среднее"), linetype = "dashed", size = 1) +
  geom_vline(aes(xintercept = median(Export), color = "Медиана"), linetype = "dotdash", size = 1) +
  scale_fill_gradient("Количество", low = "lightgreen", high = "darkgreen") +
  scale_color_manual("", values = c("Среднее" = "red", "Медиана" = "blue")) +
  labs(title = "Гистограмма объема экспорта", x = "Объем экспорта", y = "Частота") +
  theme_minimal()

# Диаграмма "ящик с усами" для Export
ggplot(data_new, aes(y = Export)) +
  geom_boxplot(fill = "lightgreen", color = "darkgreen", outlier.shape = 21, outlier.fill = "red") +
  labs(title = "Диаграмма 'ящик с усами' для объема экспорта", y = "Объем экспорта") +
  theme_minimal() +
  theme(plot.title = element_text(hjust = 0.5))

# Требуется для точечной диаграммы
library(ggbeeswarm)

# Точечная диаграмма для Export
ggplot(data_new, aes(x = factor(1), y = Export)) +
  geom_beeswarm(aes(color = Export), size = 3, shape = 21, fill = "lightgreen") +
  scale_color_gradient(low = "lightblue", high = "navy") +
  labs(title = "Точечная диаграмма для объема экспорта", x = "", y = "Объем экспорта") +
  theme_minimal() +
  theme(axis.title.x = element_blank(),
        axis.ticks.x = element_blank(),
        axis.text.x = element_blank(),
        plot.title = element_text(hjust = 0.5))

Анализ данных о объеме экспорта (Export) для изучаемых компаний представляет собой следующую картину:

  1. Разброс: Объем экспорта меняется от 4.7 до 238.1 миллиардов, что показывает очень широкий диапазон величин экспорта среди компаний.

  2. Среднее и медиана: Среднее значение объема экспорта составляет 51.77 миллиарда, при этом медиана равна 31.3 миллиарда. Наличие среднего значения, значительно превышающего медиану, может указывать на то, что распределение объема экспорта искажено в сторону нескольких компаний с очень высоким уровнем экспорта.

  3. Межквартильный размах (IQR): Межквартильный размах в 39.4 миллиарда говорит о том, что 50% компаний имеют объем экспорта между примерно 15.4 и 54.8 миллиарда, что подтверждает значительную изменчивость экспортной деятельности.

  4. Дисперсия: Значение дисперсии равно 3389.745 миллиардов квадратных, что отражает высокую степень изменчивости в объемах экспорта между компаниями.

Визуальный анализ взаимосвязей. Построение парных точечных диаграмм.

pairs(data_new, col = "magenta4")

library(psych)
## 
## Присоединяю пакет: 'psych'
## Следующие объекты скрыты от 'package:ggplot2':
## 
##     %+%, alpha
pairs.panels(data_new,col="blue")

# Установка и загрузка необходимых пакетов
if(!require('ggplot2')) {
  install.packages('ggplot2'); 
  library(ggplot2);
}
if(!require('GGally')) {
  install.packages('GGally'); 
  library(GGally);
}
## Загрузка требуемого пакета: GGally
## Registered S3 method overwritten by 'GGally':
##   method from   
##   +.gg   ggplot2
# Предполагается, что data_new - это ваш DataFrame с данными
# Выбор количественных переменных для анализа
quantitative_vars_new <- data_new[, c('Sales_revenue', 'Invest_it', 'Personal', 'Export')]

# Создание графика пар переменных
ggpairs(quantitative_vars_new, 
        lower = list(continuous = wrap("points", alpha = 0.7, color = "blue")), # Точечные диаграммы в нижней части
        upper = list(continuous = wrap("cor", size = 5)), # Отображение коэффициентов корреляции в верхней части
        diag = list(continuous = wrap("barDiag", fill = "violet"))) + # Гистограммы для диагональных панелей
  ggplot2::theme_light() + # Применение светлой темы
  ggplot2::theme(axis.text.x = ggplot2::element_text(angle = 45, hjust = 1)) # Наклон меток осей X
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

# Установка и загрузка пакета psych
if(!require('psych')) {
  install.packages('psych'); 
  library(psych);
}

# Предполагается, что data_new - это ваш DataFrame с данными
# Выбор количественных переменных для анализа
quantitative_vars_new <- data_new[, c('Sales_revenue', 'Invest_it', 'Personal', 'Export')]

# Вычисление матрицы корреляций для нового набора переменных
cor_matrix_new <- cor(quantitative_vars_new, use = "complete.obs")

# Вывод матрицы корреляций
print(cor_matrix_new)
##               Sales_revenue Invest_it   Personal     Export
## Sales_revenue     1.0000000 0.1118135  0.4938038  0.3906569
## Invest_it         0.1118135 1.0000000  0.3139143  0.1068272
## Personal          0.4938038 0.3139143  1.0000000 -0.1314196
## Export            0.3906569 0.1068272 -0.1314196  1.0000000
  1. Сильная связь между выручкой от продаж и количеством персонала: Коэффициент корреляции 0.4938038 указывает на умеренную положительную корреляцию между размером компании по численности персонала и её выручкой от продаж. Это может свидетельствовать о том, что крупные компании с большим штатом сотрудников часто имеют и больший объем продаж.

  2. Связь между выручкой от продаж и объемом экспорта: Коэффициент корреляции 0.3906569 также указывает на наличие умеренной положительной связи между выручкой от продаж и объемом экспорта. Это может говорить о том, что компании с высоким уровнем продаж имеют лучшие возможности для экспорта или что активное участие в международной торговле способствует увеличению выручки.

  3. Связь между инвестициями в IT и другими переменными: Инвестиции в IT имеют слабую положительную корреляцию с выручкой от продаж (0.1118135) и количеством персонала (0.3139143), что может указывать на то, что инвестиции в технологии важны, но не являются единственным фактором успеха компаний. Корреляция с объемом экспорта (0.1068272) также слабая, что предполагает, что вклад технологических инвестиций в экспортную активность может быть не столь очевиден.

  4. Отрицательная связь между количеством персонала и объемом экспорта: Небольшая отрицательная корреляция (-0.1314196) может свидетельствовать о том, что в некоторых компаниях большая численность персонала не обязательно соответствует высокому уровню экспорта, что может быть обусловлено ориентацией на внутренний рынок или неэффективностью производственных процессов.

Многомерная регрессионная модель

Задача исследования:

Оценить влияние капиталовложений в информационные технологии (ИТ), количества сотрудников,объема экспорта ТНК и уровня автоматизации бизнес-процессов на объем продаж .

# Предположим, что data_new содержит ваши данные
# Вычисление матрицы корреляций
cor_matrix_new <- cor(data_new[, c("Sales_revenue", "Invest_it", "Personal", "Export")])

# Вывод матрицы корреляций
print(cor_matrix_new)
##               Sales_revenue Invest_it   Personal     Export
## Sales_revenue     1.0000000 0.1118135  0.4938038  0.3906569
## Invest_it         0.1118135 1.0000000  0.3139143  0.1068272
## Personal          0.4938038 0.3139143  1.0000000 -0.1314196
## Export            0.3906569 0.1068272 -0.1314196  1.0000000
# Убедимся, что пакеты установлены и загружены
  library(ggplot2)
  library(GGally)
# Настройка панелей для матрицы диаграмм рассеяния
panel_fn <- function(x, y, ...) {
  points(x, y, pch = 21, bg = 'lightblue', cex = 1.2) # Изменение символов точек и их цвета
  abline(lm(y ~ x), col = "red") # Добавление линии регрессии
}

# Создание матрицы диаграмм рассеяния с пользовательскими панелями для вашего набора данных
pairs(~Sales_revenue + Invest_it + Personal + Export, data = data_new, main = "Scatterplot Matrix", 
      panel = panel_fn, lower.panel = panel_fn, upper.panel = panel_fn,
      pch = 21, bg = c("red", "green", "blue")[unclass(data_new$group)]) # Пример использования переменной 'group' для цветовой маркировки
## Warning: Unknown or uninitialised column: `group`.

# Загрузка необходимых пакетов
  library(car)
## Загрузка требуемого пакета: carData
## 
## Присоединяю пакет: 'car'
## Следующий объект скрыт от 'package:psych':
## 
##     logit
## Следующий объект скрыт от 'package:dplyr':
## 
##     recode
  library(olsrr)
## 
## Присоединяю пакет: 'olsrr'
## Следующий объект скрыт от 'package:datasets':
## 
##     rivers
# Построение модели множественной регрессии
model <- lm(Sales_revenue~ Personal + Invest_it + Export , data = data_new)
# Вывод результатов модели
summary(model)
## 
## Call:
## lm(formula = Sales_revenue ~ Personal + Invest_it + Export, data = data_new)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -155.50  -85.61  -30.23   31.47  377.92 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  5.598e+01  3.744e+01   1.495 0.147363    
## Personal     2.051e-04  5.352e-05   3.831 0.000763 ***
## Invest_it   -8.503e-01  1.039e+00  -0.819 0.420717    
## Export       1.357e+00  4.183e-01   3.243 0.003340 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 126.2 on 25 degrees of freedom
## Multiple R-squared:  0.4692, Adjusted R-squared:  0.4056 
## F-statistic: 7.368 on 3 and 25 DF,  p-value: 0.001066
# Исключаем наблюдения 10, 4 и 11 из данных
data_new_filtered <- data_new[-c(10, 4,3, 11), ]
# Перестраиваем модель линейной регрессии с обновленными данными
model_filtered <- lm(Sales_revenue~ Personal + Invest_it + Export, data = data_new_filtered)
# Проверяем результаты новой модели
summary(model_filtered)
## 
## Call:
## lm(formula = Sales_revenue ~ Personal + Invest_it + Export, data = data_new_filtered)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -146.804  -58.371   -0.133   30.136  240.849 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -4.9624587 49.1040953  -0.101 0.920462    
## Personal     0.0004858  0.0002151   2.258 0.034711 *  
## Invest_it   -0.1839341  0.8812687  -0.209 0.836682    
## Export       1.2975620  0.3247096   3.996 0.000656 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 95.22 on 21 degrees of freedom
## Multiple R-squared:  0.4605, Adjusted R-squared:  0.3834 
## F-statistic: 5.975 on 3 and 21 DF,  p-value: 0.004134
# Шаговый отбор переменных
stepwise_selection <- ols_step_all_possible(model_filtered)
# Вывод результатов шагового отбора
print(stepwise_selection)
##   Index N                Predictors     R-Square Adj. R-Square Mallow's Cp
## 3     1 1                    Export 0.3238824762   0.294486062    5.317504
## 1     2 1                  Personal 0.0499257423   0.008618166   15.981120
## 2     3 1                 Invest_it 0.0001542917  -0.043317261   17.918446
## 5     4 2           Personal Export 0.4593742251   0.410226427    2.043562
## 6     5 2          Invest_it Export 0.3295009462   0.268546487    7.098808
## 4     6 2        Personal Invest_it 0.0502481858  -0.036092888   17.968569
## 7     7 3 Personal Invest_it Export 0.4604933680   0.383420992    4.000000
# Визуализация результатов шагового отбора
plot(stepwise_selection)
## Warning: The `guide` argument in `scale_*()` cannot be `FALSE`. This was deprecated in
## ggplot2 3.3.4.
## ℹ Please use "none" instead.
## ℹ The deprecated feature was likely used in the olsrr package.
##   Please report the issue at <https://github.com/rsquaredacademy/olsrr/issues>.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.

# Проверка всехвозможных других вариантов модели
k <- ols_step_best_subset(model_filtered);k
##         Best Subsets Regression         
## ----------------------------------------
## Model Index    Predictors
## ----------------------------------------
##      1         Export                    
##      2         Personal Export           
##      3         Personal Invest_it Export 
## ----------------------------------------
## 
##                                                         Subsets Regression Summary                                                        
## ------------------------------------------------------------------------------------------------------------------------------------------
##                        Adj.        Pred                                                                                                    
## Model    R-Square    R-Square    R-Square     C(p)       AIC         SBIC        SBC          MSEP           FPE          HSP        APC  
## ------------------------------------------------------------------------------------------------------------------------------------------
##   1        0.3239      0.2945      0.2282    5.3175    306.0412    234.8890    309.6978    259449.5210    11204.9597    471.5892    0.7937 
##   2        0.4594      0.4102      0.1876    2.0436    302.4502    232.5606    307.3257    217335.5719     9713.6908    412.9971    0.6881 
##   3        0.4605      0.3834      0.1147    4.0000    304.3984    234.9027    310.4927    227729.9516    10517.8669    453.3563    0.7450 
## ------------------------------------------------------------------------------------------------------------------------------------------
## AIC: Akaike Information Criteria 
##  SBIC: Sawa's Bayesian Information Criteria 
##  SBC: Schwarz Bayesian Criteria 
##  MSEP: Estimated error of prediction, assuming multivariate normality 
##  FPE: Final Prediction Error 
##  HSP: Hocking's Sp 
##  APC: Amemiya Prediction Criteria

Исходя из обновленных данных вашей линейной регрессии, давайте сформулируем уравнение линейной регрессии и обсудим результаты t-статистики для каждого коэффициента.

Уравнение линейной регрессии:

\[ \text{Sales\_revenue} = -4.962 + 0.0004858 \times \text{Personal} - 0.1839341 \times \text{Invest\_it} + 1.2975620 \times \text{Export} \]

Исходя из обновленных результатов модели множественной линейной регрессии, можно сделать следующие выводы относительно взаимосвязи между выручкой от продаж (Sales_revenue) и переменными Personal (количество персонала), Invest_it (доля капиталовложений в ИТ) и Export (объем экспорта) для отфильтрованного датасета data_new_filtered:

  1. Коэффициенты:
    • (Intercept) -4.9624587: Это значение интерсепта показывает ожидаемую выручку от продаж, когда все переменные равны 0. В данном контексте его значение не имеет существенного практического значения, поскольку такие условия нереалистичны для анализируемых компаний.

    • Personal 0.0004858: Коэффициент положительный, что указывает на прямую зависимость между количеством персонала и выручкой от продаж. Увеличение количества персонала на одну единицу приводит к росту выручки на 0.0004858 единиц. При p-value = 0.034711, этот коэффициент статистически значим.

    • Invest_it -0.1839341: Этот коэффициент отрицательный, но с p-value = 0.836682 он не является статистически значимым. Это означает, что изменения в доле капиталовложений в ИТ не оказывают заметного влияния на выручку в рамках данной модели.

    • Export 1.2975620: Коэффициент положительный и статистически значим (p-value = 0.000656), что свидетельствует о значимом влиянии объема экспорта на выручку. Увеличение экспорта на одну единицу ассоциируется с ростом выручки на 1.2975620 единиц.

  2. Оценка качества модели:
    • R-квадрат (Multiple R-squared) 0.4605: Модель объясняет примерно 46.05% вариации выручки от продаж, что является достаточно сильным показателем для экономических данных.

    • Скорректированный R-квадрат (Adjusted R-squared) 0.3834: Учитывая количество переменных и размер выборки, корректировка показывает, что модель объясняет около 38.34% вариации выручки.

    • F-статистика 5.975 (p-value: 0.004134): Общая статистическая значимость модели подтверждена низким p-value, что указывает на то, что модель в целом эффективна для предсказания выручки от продаж.

  3. Резидуальная стандартная ошибка 95.22: Это значение показывает среднее отклонение фактических значений от предсказанных моделью, что дает представление о точности предсказаний модели.

Выводы:

Модель показывает значимое влияние количества персонала и объема экспорта на выручку от продаж, в то время как доля капиталовложений в ИТ не оказывает статистически значимого влияния в данной выборке. Это может указывать на то, что для увеличения выручки компаниям стоит сосредоточить внимание на расширении экспортных операций и оптимизации численности персонала.

Проверка на мультиколлинеарность с помощью VIF

vif_results <- ols_vif_tol(model_filtered)
print(vif_results)
##   Variables Tolerance      VIF
## 1  Personal 0.9322133 1.072716
## 2 Invest_it 0.9754056 1.025215
## 3    Export 0.9382734 1.065787

Исходя из результатов анализа мультиколлинеарности с помощью коэффициентов VIF (Variance Inflation Factor) и толерантности, полученных для модели множественной линейной регрессии (model_filtered), можно сделать следующие выводы:

Анализ мультиколлинеарности:

  • Personal: VIF = 1.072716, Толерантность = 0.9322133
  • Invest_it: VIF = 1.025215, Толерантность = 0.9754056
  • Export: VIF = 1.065787, Толерантность = 0.9382734

Интерпретация:

  1. VIF (Variance Inflation Factor): Коэффициенты VIF для всех переменных находятся близко к 1, что указывает на отсутствие или низкий уровень мультиколлинеарности между независимыми переменными. Общепринято, что значения VIF более 5 или 10 указывают на высокую степень мультиколлинеарности, что может влиять на надежность оценок коэффициентов модели. В данном случае все значения VIF значительно ниже этих порогов, что свидетельствует о хороших свойствах модели с точки зрения мультиколлинеарности.

  2. Толерантность: Аналогичным образом, значения толерантности для всех переменных близки к 1. Толерантность измеряет уровень линейной независимости переменной от остальных предикторов в модели. Значение толерантности менее 0.1 часто рассматривается как индикатор проблем мультиколлинеарности. В данном случае, все значения толерантности значительно выше этого порога, что также указывает на отсутствие проблем с мультиколлинеарностью.

Вывод:

Анализ VIF и толерантности для модели показывает, что мультиколлинеарность между переменными Personal, Invest_it, и Export отсутствует или незначительна, что делает модель надежной для интерпретации влияния этих переменных на выручку от продаж (Sales_revenue). Это говорит о том, что каждая из переменных вносит уникальный вклад в модель, и их взаимодействие не искажает оценки коэффициентов регрессии. Таким образом, вы можете с уверенностью использовать эту модель для анализа и принятия решений на основе полученных коэффициентов и статистических значимостей.

Построение трехмерной таблицы

library(plotly)
## 
## Присоединяю пакет: 'plotly'
## Следующий объект скрыт от 'package:ggplot2':
## 
##     last_plot
## Следующий объект скрыт от 'package:stats':
## 
##     filter
## Следующий объект скрыт от 'package:graphics':
## 
##     layout
# Построение модели линейной регрессии с обновленными данными
model_filtered <- lm(Sales_revenue ~ Personal + Invest_it + Export, data = data_new_filtered)
# Получение предсказанных значений для визуализации на графике
data_new_filtered$predicted_sales_revenue <- predict(model_filtered, newdata = data_new_filtered)
# Создание трехмерного графика
fig <- plot_ly(data = data_new_filtered, x = ~Invest_it, y = ~Personal, z = ~predicted_sales_revenue, 
               type = 'scatter3d', mode = 'markers',
               marker = list(size = 5,
                             color = ~predicted_sales_revenue, 
                             colorscale = 'Viridis',
                             opacity = 0.8)) %>%
        layout(title = "3D Scatter Plot of Predicted Sales Revenue",
               scene = list(xaxis = list(title = 'Invest_it'),
                            yaxis = list(title = 'Personal'),
                            zaxis = list(title = 'Predicted Sales Revenue')))

# Показываем график
fig

Доверительные интервалы

# Вычисление доверительных интервалов для коэффициентов модели
confint(model_filtered, level = 0.95)
##                     2.5 %       97.5 %
## (Intercept) -1.070800e+02 9.715510e+01
## Personal     3.838932e-05 9.331982e-04
## Invest_it   -2.016633e+00 1.648764e+00
## Export       6.222915e-01 1.972833e+00

м >Доверительные интервалы для коэффициентов модели позволяют оценить точность оценок коэффициентов и дают диапазон значений, в которых мы можем ожидать нахождение истинных коэффициентов с уровнем доверия в 95%. Вот выводы, которые можно сделать на основе предоставленных интервалов:

Доверительные интервалы для коэффициентов моделина уровне доверия 95% показывают следующее:

  1. (Intercept): Доверительный интервал свободного члена пересекает ноль (-107.08, 97.155), что указывает на возможное отсутствие статистической значимости. Это значит, что при отсутствии всех предикторов (когда их значения равны нулю) нельзя надёжно утверждать, будет ли среднее значение Sales_revenue положительным или отрицательным.

  2. Personal: Доверительный интервал для Personal (0.0000384, 0.0009332) полностью находится в положительной области и не пересекает ноль, что говорит о положительном влиянии количества сотрудников на выручку от продаж. Увеличение численности персонала на одного сотрудника ассоциируется с увеличением выручки от продаж в пределах этого интервала.

  3. Invest_it: Доверительный интервал для Invest_it (-2.0166, 1.6488) включает ноль, что свидетельствует об отсутствии статистической уверенности в том, как именно инвестиции в IT влияют на выручку от продаж. Невозможно утверждать, имеют ли инвестиции в IT положительное или отрицательное влияние на выручку.

  4. Export: Доверительный интервал для Export (0.6223, 1.9728) также не пересекает ноль и находится полностью в положительной области, указывая на статистически значимое положительное влияние объема экспорта на выручку от продаж.

В целом, данные интервалы указывают на то, что Personal и Export являются статистически значимыми предикторами Sales_revenue в модели, в то время как вклад Invest_it не является статистически значимым на уровне доверия 95%.

Анализ остатков и проверка предпосылок:

# Установка макета графика на 2x2
par(mfrow = c(2, 2))

# График остатков против подогнанных значений
plot(model_filtered, which = 1, col = "blue", pch = 20, main = "Остатки против подогнанных значений")
abline(h = 0, col = "red", lwd = 2) # Добавляем горизонтальную линию на уровне 0

# Q-Q plot остатков
plot(model_filtered, which = 2, col = "blue", pch = 20, main = "Q-Q plot остатков")
qqline(model$residuals, col = "red", lwd = 2) # Добавляем QQ-линию

# Масштабирование остатков по левереджу (Scale-Location plot)
plot(model_filtered, which = 3, col = "blue", pch = 20, main = "Scale-Location")
abline(h = 1, col = "red", lwd = 2) # Горизонтальная линия на уровне 1

# График расстояния Кука
plot(model_filtered, which = 4, col = "blue", pch = 20, main = "Влияние наблюдений (расстояние Кука)")
abline(h = 0.5, col = "red", lwd = 2, lty = 2) # Пунктирная линия на значимом уровне 0.5

# Возвращаем настройки par к исходным значениям
par(mfrow = c(1, 1), mar = c(5, 4, 4, 2) + 0.1)

# Дополнительные графики, если необходимо
# Гистограмма остатков
hist(model_filtered$residuals, main = "Гистограмма остатков", xlab = "Остатки", ylab = "Частота", col = "lightblue", border = "darkblue")

# График остатков
plot(model_filtered$residuals, type = "p", main = "График остатков", xlab = "Наблюдение", ylab = "Остатки", pch = 20, col = "darkgreen")

# Возвращение к исходным настройкам par
par(mfrow = c(1, 1))

# Дескриптивная статистика остатков
library(psych)
describe(model_filtered$residuals)
##    vars  n mean    sd median trimmed   mad    min    max  range skew kurtosis
## X1    1 25    0 89.07  -0.13   -8.67 80.62 -146.8 240.85 387.65 0.97     0.76
##       se
## X1 17.81

Исходя из диаграмм остатков вашей регрессионной модели, можно сделать следующие выводы:

  1. Остатки против подогнанных значений (Residuals vs Fitted):
    • На этом графике мы ожидаем видеть случайное распределение точек вокруг горизонтальной линии (красной линии), что бы указывало на отсутствие явных закономерностей. Точки вроде номеров 6, 17 и 18 кажутся выбросами, так как они сильно отклоняются от остального облака точек.
  2. Квантиль-квантиль график (Q-Q Plot):
    • Данный график служит для проверки предположения о нормальности распределения остатков. Точки должны располагаться вдоль прямой линии. Однако точки в верхнем правом углу графика (например, точки 6 и 18) отклоняются от этой линии, что может указывать на тяжелые хвосты распределения остатков или нарушение предположения о нормальности.
  3. Масштаб-Расположение (Scale-Location):
    • Этот график показывает, как изменяется стандартное отклонение остатков с увеличением значений подогнанных переменных. Ожидаем видеть постоянный разброс точек вдоль линии, что указывало бы на гомоскедастичность. Наблюдается некоторая закономерность в распределении остатков, особенно для точки 18, что может указывать на гетероскедастичность.
  4. Расстояние Кука (Cook’s distance):
    • Этот график идентифицирует точки, которые оказывают необычно большое влияние на оценки коэффициентов модели. На графике мы видим, что точки 6 и 17 превышают пороговое значение (красная пунктирная линия), что делает их потенциально влиятельными точками, которые могут исказить результаты модели.

Проверка на выполнение препоссылок

#Тестируем остатки на соответствие нормальному распределению
shapiro.test(model_filtered$residuals)
## 
##  Shapiro-Wilk normality test
## 
## data:  model_filtered$residuals
## W = 0.91709, p-value = 0.044
# Тестируем остатки на независимость
DescTools::RunsTest(model_filtered$residuals)
## 
##  Runs Test for Randomness
## 
## data:  model_filtered$residuals
## runs = 9, m = 13, n = 12, p-value = 0.09953
## alternative hypothesis: true number of runs is not equal the expected number
## sample estimates:
##  median(x) 
## -0.1333328
#Тестируем остатки на автокорреляцию
durbinWatsonTest(model_filtered)
##  lag Autocorrelation D-W Statistic p-value
##    1     -0.01722449      2.019437    0.76
##  Alternative hypothesis: rho != 0
# Тест Брюша-Пагана остатков на гомоскедактичность
ncvTest(model_filtered)
## Non-constant Variance Score Test 
## Variance formula: ~ fitted.values 
## Chisquare = 0.3510858, Df = 1, p = 0.5535
  1. Тест на нормальность остатков (Тест Шапиро-Уилка): Результаты теста показывают статистически значимое отклонение остатков от нормального распределения (p = 0.044). Следовательно, нулевая гипотеза о нормальности распределения остатков отвергается.

  2. Тест на независимость остатков (Тест на случайность “Runs Test”): Несмотря на некоторые отклонения от предполагаемой случайности, результаты этого теста не достигают уровня статистической значимости (p = 0.09953). Это означает, что нет достаточных доказательств против гипотезы о случайности остатков.

  3. Тест на автокорреляцию остатков (Тест Дарбина-Уотсона): Статистика D-W не позволяет отвергнуть нулевую гипотезу о отсутствии автокорреляции в остатках (p-value > 0.05), что указывает на отсутствие значимой автокорреляции на первом лаге.

  4. Тест Бройша-Пагана на гомоскедастичность остатков: Результаты теста не достигают статистической значимости (p = 0.5535), что указывает на отсутствие значительных доказательств против гипотезы о гомоскедастичности остатков.

Прогноз и интервальные оценки CI и PI

# Исходная модель
model <- lm(Sales_revenue ~ Personal +Invest_it+ Export, data = data_new)

# Перестроение модели без наблюдений 10, 4 и 11
data_new_filtered <- data_new[-c(10, 4, 11), ]
model_filtered <- lm(Sales_revenue ~ Personal+Invest_it+ Export, data = data_new_filtered)

# Создание новых данных для прогноза
new_data <- data.frame(
  Personal = seq(min(data_new_filtered$Personal), max(data_new_filtered$Personal), length.out = 10),
  Invest_it = seq(min(data_new_filtered$Invest_it), max(data_new_filtered$Invest_it), length.out = 10),
  Export = seq(min(data_new_filtered$Export), max(data_new_filtered$Export), length.out = 10)
)

# Делаем прогнозы с 95% доверительным интервалом
predictions_conf <- predict(model_filtered, newdata = new_data, interval = "confidence", level = 0.95)

# Делаем прогнозы с 95% предсказательным интервалом
predictions_pred <- predict(model_filtered, newdata = new_data, interval = "prediction", level = 0.95)

# Визуализация прогнозов с использованием plotly
library(plotly)

fig <- plot_ly() %>%
  add_markers(x = ~new_data$Personal, y = ~predictions_conf[, "fit"], name = 'Fitted values') %>%
  add_lines(x = ~new_data$Personal, y = ~predictions_conf[, "lwr"], name = 'Lower CI', line = list(dash = 'dash')) %>%
  add_lines(x = ~new_data$Personal, y = ~predictions_conf[, "upr"], name = 'Upper CI', line = list(dash = 'dash')) %>%
  add_lines(x = ~new_data$Personal, y = ~predictions_pred[, "lwr"], name = 'Lower PI', line = list(dash = 'dot')) %>%
  add_lines(x = ~new_data$Personal, y = ~predictions_pred[, "upr"], name = 'Upper PI', line = list(dash = 'dot')) %>%
  layout(title = "95% Confidence and Prediction Intervals",
         xaxis = list(title = "Personal"),
         yaxis = list(title = "Sales Revenue"),
         legend = list(x = 0.1, y = 0.9))

# Вывод графика
fig
# Предположим, что model_filtered уже построена с исключением некоторых наблюдений

# Создаем новый набор данных для прогнозирования
new_data <- data.frame(
  Personal = c(4000, 6000),
  Invest_it = c(1, 2),
  Export = c(1, 2)
)

# Делаем прогноз с 95% доверительными интервалами
conf_pred <- predict(model_filtered, newdata = new_data, interval = "confidence")

# Делаем прогноз с 95% предсказательными интервалами
pred_pred <- predict(model_filtered, newdata = new_data, interval = "prediction")

# Объединяем результаты для удобства
predictions <- data.frame(conf_pred, pred_pred[,c("lwr", "upr")])
colnames(predictions) <- c("fit", "lwr_conf", "upr_conf", "lwr_pred", "upr_pred")

# Выводим предсказания
print(predictions)
##        fit  lwr_conf upr_conf  lwr_pred upr_pred
## 1 18.46755 -79.82879 116.7639 -207.2950 244.2301
## 2 20.00935 -76.81475 116.8335 -205.1161 245.1348

Исходя из проведенного прогноза с помощью модели model_filtered, мы получили два набора предсказаний для новых данных. Эти данные содержат значения для переменных Personal, Invest_it, и Export. Предсказания включают оценки выручки (fit), 95% доверительные интервалы (lwr_conf, upr_conf) и 95% предиктивные интервалы (lwr_pred, upr_pred). Вот вывод по полученным результатам:

Предсказания:

  1. Для первого набора данных (Personal = 4000, Invest_it = 1, Export = 1):
    • Предсказанное значение выручки (fit) составляет примерно 18.47.
    • 95% доверительный интервал для среднего значения выручки колеблется от -79.83 до 116.76. Это означает, что мы можем быть на 95% уверены, что истинное среднее значение выручки для всей популяции с такими же значениями Personal, Invest_it, и Export лежит в этом интервале.
    • 95% предиктивный интервал, который учитывает индивидуальную изменчивость в данных, гораздо шире и варьируется от -207.29 до 244.23. Это говорит о том, что конкретное значение выручки для одной компании с данными значениями переменных будет в этом диапазоне с вероятностью 95%.
  2. Для второго набора данных (Personal = 6000, Invest_it = 2, Export = 2):
    • Предсказанное значение выручки (fit) составляет примерно 20.01.
    • 95% доверительный интервал для среднего значения выручки колеблется от -76.81 до 116.83. Это указывает на схожую степень неопределенности в оценке среднего значения выручки, что и в первом наборе данных.
    • 95% предиктивный интервал варьируется от -205.12 до 245.13, также указывая на широкий диапазон возможных значений выручки для индивидуальных компаний.

Выводы:

  • Предсказанные значения выручки невелики и близки друг к другу, несмотря на различия в значениях независимых переменных.

Кластерный анализ K-средних

Для выполнения полного кластерного анализа для вашей таблицы data_new, содержащей только количественные переменные (Sales_revenue, Invest_it, Personal, Export), мы пройдем через несколько этапов: подготовка данных, стандартизация, определение оптимального количества кластеров и непосредственно кластеризация. После кластеризации мы также визуализируем результаты.

Шаг 1: Подготовка и стандартизация данных

# Установка и загрузка необходимых пакетов
if(!require('dplyr')) install.packages('dplyr'); library(dplyr)
if(!require('cluster')) install.packages('cluster'); library(cluster)
## Загрузка требуемого пакета: cluster
if(!require('factoextra')) install.packages('factoextra'); library(factoextra)
## Загрузка требуемого пакета: factoextra
## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa
# Подготовка данных: выбор только количественных переменных и удаление пропусков
data_new_clean <- data_new %>%
  select(Sales_revenue, Invest_it, Personal, Export) %>%
  na.omit()

# Стандартизация данных
data_scaled <- scale(data_new_clean)

Шаг 2: Определение оптимального числа кластеров

# WSS
fviz_nbclust(data_scaled, kmeans, method = "wss") +
  labs(title = "Метод 'локтя' для WSS", x = "Количество кластеров", y = "WSS")

# Gap Statistic
gap_stat <- clusGap(data_scaled, FUN = kmeans, nstart = 25, K.max = 10, B = 50)
fviz_gap_stat(gap_stat) +
  labs(title = "Gap Statistic", x = "Количество кластеров", y = "Gap Statistic")

Шаг 3: Кластеризация методом K-средних

Предположим, что на основе предыдущих шагов оптимальное количество кластеров определено как 4.

`

set.seed(1)
# Проведение кластеризации K-средних с определенным оптимальным числом кластеров
km <- kmeans(data_scaled, centers = 3, nstart = 25)

# Просмотр результатов кластеризации
print(km)
## K-means clustering with 3 clusters of sizes 22, 2, 5
## 
## Cluster means:
##   Sales_revenue  Invest_it   Personal     Export
## 1    -0.4036935 -0.1904682 -0.2408654 -0.4007745
## 2     1.5460182  1.4471826  3.4689330 -0.2596208
## 3     1.1578443  0.2591872 -0.3277655  1.8672561
## 
## Clustering vector:
##  [1] 3 3 1 2 3 1 3 1 1 3 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## 
## Within cluster sum of squares by cluster:
## [1] 27.164946  6.625357 10.836171
##  (between_SS / total_SS =  60.2 %)
## 
## Available components:
## 
## [1] "cluster"      "centers"      "totss"        "withinss"     "tot.withinss"
## [6] "betweenss"    "size"         "iter"         "ifault"
set.seed(123)
km_res <- kmeans(data_scaled, centers = 3, nstart = 25)
# Общая внутрикластерная сумма квадратов
print(km$tot.withinss)
## [1] 44.62647
# Детальный вывод результатов
cat("Внутрикластерная сумма квадратов по кластерам:", km$withinss, "\n")
## Внутрикластерная сумма квадратов по кластерам: 27.16495 6.625357 10.83617
cat("Общая внутрикластерная сумма квадратов:", km$tot.withinss, "\n")
## Общая внутрикластерная сумма квадратов: 44.62647
cat("Размеры кластеров:", km$size, "\n")
## Размеры кластеров: 22 2 5

Шаг 5: Интерпретация результатов кластеризации

# Средние значения по кластерам
mean.km <- aggregate(data_new_clean, by = list(cluster = km$cluster), FUN = mean)
print(mean.km)
##   cluster Sales_revenue Invest_it  Personal    Export
## 1       1      106.3312  12.66773  182268.2  28.43182
## 2       2      425.3570  52.76000 1950000.0  36.65000
## 3       3      361.8412  23.67600  140860.0 160.48000

Шаг 4: Визуализация результатов

fviz_cluster(km_res, data = data_scaled, geom = "point", stand = FALSE) +
  labs(title = "Визуализация результатов кластеризации K-средних") +
  theme_minimal()

# Вывод различных ключевых элементов модели k-средних для data_new
print("Кластеры:")
## [1] "Кластеры:"
print(km_res$cluster) # Показывает, к какому кластеру отнесена каждая точка данных в data_new
##  [1] 2 2 1 3 2 1 2 1 1 2 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
print("Центры кластеров:")
## [1] "Центры кластеров:"
print(km_res$centers) # Показывает координаты центров каждого кластера для data_new
##   Sales_revenue  Invest_it   Personal     Export
## 1    -0.4036935 -0.1904682 -0.2408654 -0.4007745
## 2     1.1578443  0.2591872 -0.3277655  1.8672561
## 3     1.5460182  1.4471826  3.4689330 -0.2596208
print("Общая сумма квадратов (Total sum of squares):")
## [1] "Общая сумма квадратов (Total sum of squares):"
print(km_res$totss) 
## [1] 112
print("Внутрикластерные суммы квадратов (Within-cluster sum of squares by cluster):")
## [1] "Внутрикластерные суммы квадратов (Within-cluster sum of squares by cluster):"
print(km_res$withinss) 
## [1] 27.164946 10.836171  6.625357
print("Общая внутрикластерная сумма квадратов (Total within-cluster sum of squares):")
## [1] "Общая внутрикластерная сумма квадратов (Total within-cluster sum of squares):"
print(km_res$tot.withinss)
## [1] 44.62647
print("Межкластерная сумма квадратов (The between-cluster sum of squares):")
## [1] "Межкластерная сумма квадратов (The between-cluster sum of squares):"
print(km_res$betweenss)
## [1] 67.37353
print("Размеры кластеров (The number of points in each cluster):")
## [1] "Размеры кластеров (The number of points in each cluster):"
print(km_res$size) 
## [1] 22  5  2
print("Количество итераций (The number of iterations required):")
## [1] "Количество итераций (The number of iterations required):"
print(km_res$iter) 
## [1] 3

Основываясь на результатах кластерного анализа K-средних, мы можем сделать следующие детальные выводы:

Определение числа кластеров

Методы “локтя” и “Gap Statistic” были использованы для определения оптимального количества кластеров. Оба метода предложили разное количество кластеров, и на основании этих предложений было решено использовать 3 кластера для дальнейшего анализа.

Результаты кластеризации K-средних

Проведенная кластеризация с тремя кластерами привела к следующим результатам:

  1. Размеры кластеров:

    • Кластер 1: 22 наблюдения
    • Кластер 2: 5 наблюдений
    • Кластер 3: 2 наблюдения

    Эти размеры указывают на то, что большинство данных сгруппировано в первом кластере, в то время как второй и третий кластеры содержат меньше наблюдений.

  2. Средние значения по кластерам:

    • Кластер 1: Меньшая выручка от продаж, меньшие инвестиции в ИТ, меньшее количество персонала, меньший объем экспорта.
    • Кластер 2: Большая выручка от продаж, средние инвестиции в ИТ, меньшее количество персонала, высокий объем экспорта.
    • Кластер 3: Самая большая выручка от продаж, наибольшие инвестиции в ИТ, наибольшее количество персонала, меньший объем экспорта.

    Это показывает, что кластеры могут представлять различные бизнес-стратегии или стадии роста компаний.

  3. Внутрикластерная сумма квадратов:

    • Общая внутрикластерная сумма квадратов составляет 44.62647, что является мерой общей вариативности внутри кластеров.
    • Внутрикластерная сумма квадратов по кластерам: 27.16 для кластера 1, 10.83 для кластера 2 и 6.63 для кластера 3. Это показывает, что кластер 1 имеет наибольшую вариативность внутри себя.
  4. Межкластерная сумма квадратов:

    • Значение межкластерной суммы квадратов 67.37353 отражает различия между кластерами и является дополнительным подтверждением того, что кластеры различаются между собой.
  5. Количество итераций:

    • Модель сошлась за 3 итерации, что указывает на то, что процесс нашел стабильное решение относительно быстро.

Визуализация результатов кластеризации

Визуализация кластеров с помощью fviz_cluster показала распределение стандартизированных значений переменных по кластерам и позволила визуально оценить их различия.

Профили кластеров

Кластер 1 (Большинство компаний):

  • Sales_revenue: Наименьшая средняя выручка от продаж.
  • Invest_it: Ниже среднего уровень инвестиций в информационные технологии.
  • Personal: Средний размер персонала.
  • Export: Наименьший объем экспорта.

Профиль: Этот кластер может представлять компании с более консервативной моделью бизнеса, где фокус на внутреннем рынке и меньших инвестициях в ИТ. Это могут быть устоявшиеся компании с традиционными бизнес-процессами, возможно, с низкой степенью цифровизации.

Кластер 2 (Компании с высоким уровнем персонала):

  • Sales_revenue: Самая высокая средняя выручка от продаж.
  • Invest_it: Самый высокий уровень инвестиций в информационные технологии.
  • Personal: Самый большой размер персонала.
  • Export: Средний объем экспорта.

Профиль: Кластер скорее всего состоит из крупных корпораций, которые могут быть лидерами в своих отраслях. Они инвестируют в ИТ и имеют большую рабочую силу, что может указывать на их масштаб и способность к инновациям и экспансии.

Кластер 3 (Экспортно-ориентированные компании):

  • Sales_revenue: Высокая средняя выручка от продаж.
  • Invest_it: Средний уровень инвестиций в информационные технологии.
  • Personal: Ниже среднего количество персонала.
  • Export: Самый высокий объем экспорта.

Профиль: Компании этого кластера могут специализироваться на международной торговле и экспорте. Несмотря на более малочисленный персонал, эти компании демонстрируют высокие продажи, что может говорить о высокой производительности и эффективности работы.

Общие выводы

На основании кластерного анализа можно сделать вывод, что в выборке присутствуют группы компаний с различными характеристиками в плане выручки от продаж, инвестиций в ИТ, количества персонала и объема экспорта. Определенные кластеры могут указывать на разные бизнес-модели или стратегии развития в выборке ТНК.

ОБЩИЙ ВЫВОД ПО МОДЕЛЯМ

Объединяя результаты кластерного анализа и множественной регрессии, можно сформировать всесторонний экономический вывод о поведении компаний на рынке. Кластерный анализ выявил группы компаний с различными характеристиками и стратегиями: от небольших предприятий с ограниченной выручкой и экспортом до крупных игроков с значительными инвестициями в персонал и технологии. Это разнообразие подчеркивает, что отраслевой успех может быть результатом различных бизнес-моделей и стратегий роста, а также адаптации к рыночным условиям и способности к инновациям. Множественная регрессия показала, что персонал и экспортные операции играют важную роль в увеличении выручки, тогда как инвестиции в ИТ не продемонстрировали значимого влияния в данной модели. Это говорит о том, что для компаний может быть выгодно инвестировать в развитие квалификации персонала и расширение международных рынков. С другой стороны, важно не просто увеличивать инвестиции в ИТ, но и стремиться к их эффективному применению для повышения операционной эффективности и открытия новых рыночных возможностей. Тот факт, что модель охватывает только 46% вариации в выручке, указывает на то, что существуют и другие значимые факторы, не включенные в текущий анализ, которые могут оказывать влияние на финансовые результаты компаний. Это могут быть такие элементы, как рыночные тенденции, конкуренция, инновации, бренд и корпоративная репутация, качество продукции или услуг, а также макроэкономические условия. В целом, представленные данные и анализ подсказывают, что руководству компаний следует уделить внимание комплексному подходу к стратегическому планированию. Это включает инвестирование в человеческий капитал, эксплуатацию глобальных экспортных возможностей и целенаправленное использование технологических инвестиций для достижения конкурентного преимущества и устойчивого роста. Следует также учитывать риск возможных выбросов и искажений, обнаруженных в диаграммах остатков, и рассмотреть возможность дальнейшего углубленного анализа для более точной настройки стратегических инициатив.